package com.tjsinfo.tjsoa.worklog.bo;


import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.tjsinfo.tjsoa.worklog.vo.WorkLogMain;
public interface IWorkLogMainBo {
	public String save(Integer userid,Date datetime,String type,String content,String complete_countent,Integer year,Integer number,Integer start,Integer submittype);
	public void delete(String id);
	public void update(String id, Integer userid,Date datetime,String type,String content,String complete_countent,Integer year,Integer number,Integer start);
	/**
	 * 根据用户ID时间类型查询工作日志
	 * @param 用户
	 * @param 时间
	 * @param 类型
	 * @return
	 */
	public WorkLogMain selectTypeAndUserAndDate(Integer userid, Date date,
			String type);
	/**
	 * 基于主键查询
	 * @param id
	 * @return
	 */
	public WorkLogMain selectByID(String id);
	/**
	 * 查询工作日志并且带批示
	 * @param jihuaid
	 * @return
	 */
	public WorkLogMain selectWorkLogMainAndExamine(String jihuaid);
	
	/**
	 * 根据年份和类型查询
	 * @param 类型
	 * @param 年
	 * @return
	 */
	public List selectWorkLogTypeAndYear(String type, Integer year,Integer userid);
	/**
	 * 根据年份和类型查询
	 * @param 类型
	 * @param 年
	 * @return map
	 */
	public Map<Date, WorkLogMain> selectWorkLogTypeAndYearMAP(String type, Integer year,Integer userid);
	/**
	 * 根据年份和类型查询
	 * @param 类型
	 * @param 年
	 * @return map<"number","worklog">
	 */
	public Map<Integer, WorkLogMain> selectWorkLogTypeAndYearMAPNumber(String type, Integer year,
			Integer userid);
	/**
	 * 根据年份和类型查询
	 * @param 类型
	 * @param 年
	 * @param 状态
	 * @return map<"number","worklog">
	 */
	public Map<Date, WorkLogMain> selectWorkLogTypeAndYearMAPTimeStart(String type, Integer year,
			Integer userid,Integer start);
	/**
	 * 查询状态类型和年份
	 */
	public Map<Integer, WorkLogMain> selectWorkLogTypeAndYearMAPNumberStart(String type,
			Integer year, Integer userid, Integer start);
	
	public List selectTypeAndUser(String type,Integer id);
	/**
	 * 检查默认工作日日志
	 * @param type
	 * @param year
	 * @param userid
	 * @param start
	 * @return
	 */
	public Map<Date, WorkLogMain> selectDefantWorkLogDate(
			String type, Integer year, Integer userid, Integer start);
	/**
	 * 模糊查询
	 * @param userid
	 * @return
	 */
	public  List selectLike(Integer userid,String content);
	/**
	 * 根据类型模糊查询
	 * @param userid
	 * @param type
	 * @return
	 */
	public List selectLikeType(Integer userid,String type,String content);
}
